package com.hns.tool.task.taque;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 任务执行完成
 * @author:wucx
 * @email:zhuangcaijin@126.com
 * @version Revision 2.0.0
 */
public class TaskEnd implements Runnable{

	private Task task;
	private Taque taque;
	
	private final Logger logger = LoggerFactory.getLogger(TaskEnd.class);
	
	/**
	 * 构造
	 * @param task 后台任务
	 * @param taque 任务执行队列
	 * @email:zhuangcaijin@126.com
	 */
	TaskEnd(Task task, Taque taque) {
		this.task = task;
		this.taque = taque;
	}
	
	/**
	 * 任务执行结束后执行
	 * @email:zhuangcaijin@126.com
	 */
	public void run() {
		try {
			task.end();
		} catch (Exception e) {
			logger.error("Task {} fire end cause error.", task, e);
		}
		taque.end(task);
	}

}
